home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_usrdoc / PROCPS-2.{24 / NEWS.{_2 < prev    next >
Text File  |  1999-09-17  |  25KB  |  520 lines

  1. NEWS: what has changed recently with procps, in reverse cronological order.
  2. Please send bug reports to procps-bugs@redhat.com
  3.  
  4.  
  5. NEWS for version 2.0.2 of procps
  6.  
  7. Removed xproc entirely; the only thing left there was XConsole, which
  8. was equivalent to xconsole -file /proc/kmsg.  Added an XConsole shell
  9. script which does
  10. exec xconsole -file /proc/kmsg "$@"
  11. so that folks who depend on XConsole won't be left behind.  This also
  12. fixes the bug that XConsole effectively removed limitations on which
  13. users were allowed to read /proc/kmsg without root having much choice
  14. in the matter other than to remove XConsole...
  15.  
  16. Removed unused psupdate code (still available as part of procps-1.2.x
  17. for anyone who wants to play with it).
  18.  
  19. Removed sessreg, as it is included in XFree86 and there is no reason
  20. for the duplication.
  21.  
  22. Fixed version number generation so that it happens in one place.  I'm
  23. tired of releasing versions that misreport their version number...
  24.  
  25.  
  26. NEWS for version 2.0.1 of procps
  27.  
  28. Reverted my changes that had broken Albert's Unix98 compliance.
  29.  
  30. Major bugs fixed:
  31.  o  ps now returns failure for "ps <non-existant-pid>"
  32.  o  ps h has reverted to old linux behaviour except in BSD personality;
  33.     --headers and --no-headers long options have been added
  34.  o  watch buffer overrun fixed (no, not a security hole).
  35.  
  36. top has -b and -n options added.
  37.  
  38.  
  39. NEWS for version 2.0 of procps
  40.  
  41. Thanks to Albert Cahalan for his rewrite of ps, and for making
  42. the time for new development of ps that I just didn't have.  His
  43. research into how ps worked on lots of different UNIX systems
  44. really made this version much more usable for a lot of people.
  45.  
  46. Read ALL of Albert's comments regarding his 1.9.0 release.  If
  47. you do not, you may be surprised when scripts fail.  I've tried
  48. to prepare people for the worst of this by giving out the much-detested
  49.   warning: `-' deprecated; use `ps aux', not `ps -aux'
  50. message for roughly a year and a half.
  51.  
  52.  
  53. NEWS for version 1.9.0 of procps
  54.  
  55. The ps command now supports simultaneous BSD and Unix98 syntax.
  56. There have been many other changes in ps. (complete rewrite)
  57.  
  58. Red Hat users should check /etc/sysconfig/network-scripts/ifdown-ppp
  59. for the bogus command "ps aul" and change it to "ps axl".
  60.  
  61. Scripts that make assumptions about character position are and
  62. were broken because fields may overflow. Scripts should parse by
  63. whitespace and use -o to get the best results. Command names for
  64. swapped out processes are now shown in square brackets instead of
  65. parentheses, as required by the Unix98 standard. This problem can
  66. be avoided entirely by using a SysV format without -f, using the
  67. BSD "c" option, or using the format specifier "comm" with -o.
  68.  
  69. Some uses of ps in /etc/rc.d/init.d/functions should probably
  70. eventually be changed to stuff somewhat like the following, which
  71. would eliminate the need for awk:
  72.  
  73. PS_PERSONALITY=linux dead=`ps -p $pid -o pid=`
  74. PS_PERSONALITY=linux echo -n `ps -C $1 -o pid=`
  75. PS_PERSONALITY=linux pid=`ps -C $1 -o pid=`
  76.  
  77. Obsolete files you may have: /etc/psdatabase, /etc/psdevtab,
  78. ~/.psdevtab, /usr/man/man8/psupdate.8 and /usr/sbin/psupdate.
  79.  
  80.  
  81. NEWS for version 1.2.9 of procps
  82.  
  83. psupdate has been REMOVED from the default install.  You can put it back
  84. if you want to by removing two comment characters in the Makefile, but
  85. I'm not going to tell you which ones.  <RANT>If you can't figure it out,
  86. there's a good chance that it won't build on your machine and I don't
  87. want the bug reports.  One of the main reasons I have removed it is that
  88. it is not necessary on a properly-maintained system (that is, System.map
  89. exists and is correct) and 4/5ths of the bug reports I have fielded in
  90. the past are from users who are not able to maintain a working system
  91. complaining that it doesn't work, despite the fact that the INSTALL file
  92. explains how to build it in different ways and how to disable it.</RANT>
  93. I will delete without response all email asking me how to build psupdate.
  94.  
  95. ps now accepts and ignores the g option for those with fingers tied to
  96. the g key from too much exposure to BSD.  :-)
  97.  
  98. Should build properly on ultrasparc -- two people sent the patch and
  99. the second time I didn't notice that the patch went in reverted.  So
  100. I have now reverted the reverted patch to get the right behavior.
  101.  
  102. More reliable command-line parsing in vmstat has been added.  If vmstat
  103. didn't die for you before, you won't notice the difference...
  104.  
  105. Fixed a bug where arbitrary users might have been able to corrupt the
  106. screen of arbitrary other users running top by creating processes with
  107. weird arguments.
  108.  
  109. "ps ce" was missing a space character; fixed.
  110.  
  111.  
  112. NEWS for version 1.2.8 of procps
  113.  
  114. procps.spec now uses buildroot, and can be built by non-root users.
  115. This means that the default install targets had to change in the
  116. makefiles so that the default install does not require root privs
  117. otherwise.  Also changed all "bin" ownership to "root" ownership,
  118. as kmem-ps has died out and folks won't be automatically doing
  119. "chmod u+s /bin/ps" and making their systems insecure thereby.
  120.  
  121. XConsole no longer installed setuid root by default.  This is safer,
  122. if less convenient.  Change it if you want to use it as non-root.
  123.  
  124. top had disgustingly buggy ^Z handling: you could only suspend once,
  125. and if you had suspended, you could no longer read WCHAN information.
  126. Both bugs are now fixed.
  127.  
  128. xcpustate removed -- it was a very old, obsolete version.
  129. Get a new version from ftp://ftp.cs.toronto.edu/pub/jdd/xcpustate
  130.  
  131. Now looks for kernel symbols in loadable modules.
  132.  
  133. psupdate no longer included in RPM package; the theory is that
  134. systems maintained with RPM probably are reasonably recent and
  135. up-to-date and so psupdate is extraneous on those systems, only
  136. adding an unhelpful dependency on a particular version of
  137. binutils.
  138.  
  139. top printed two spaces instead of just one between command-line arguments.
  140.  
  141.  
  142. NEWS for version 1.2.7 of procps
  143.  
  144. Security hole in XConsole fixed.
  145.  
  146. Works better with very long uptimes.
  147.  
  148. Fixed RPM spec file to have correct libproc soname.
  149.  
  150. skill -i works.
  151.  
  152. Knows about more major numbers for smart serial boards.
  153.  
  154. Fixed some small problems in top.
  155.  
  156.  
  157. NEWS for version 1.2.6 of procps
  158.  
  159. Signal handling in top fixed in several ways.  Main effect: suspending
  160. works correctly with glibc now.
  161.  
  162. Patch from Linus for change in some kernel structures to 64-bit.
  163. This means that libproc has changed soname, as the proc_t data
  164. structure has changed incompatibly.
  165.  
  166. File descriptor leaks in libproc were fixed.
  167.  
  168.  
  169. NEWS for version 1.2.5 of procps
  170.  
  171. Potential security hole fixed: if there was no /etc/psdevtab on
  172. a system, a user could put a link from /tmp/psdevtab to a file
  173. owned by another user, and when that other user ran ps, the
  174. file it pointed to would be killed.  This wouldn't work for
  175. root because root would be able to create /etc/psdevtab first,
  176. so arbitrary system files would not be killable.  This was fixed
  177. by avoiding psdevtab files that are symlinks or have link counts
  178. higher than 1, and by not looking for /tmp/psdevtab anymore, as
  179. the reason for it to exist is really obsolete.
  180.  
  181. w -s output has been fixed.  Scripts that depend on w -s output
  182. should be examined.  The output was broken enough to warrant this
  183. change; it was extremely buggy.
  184.  
  185.  
  186. NEWS for version 1.2.4 of procps
  187.  
  188. I_WANT_A_BROKEN_PS environment variable turns off usage warning.
  189.  
  190. "w <username>" sense corrected.
  191.  
  192. argument order problem fixed.
  193.  
  194. XConsole doesn't dump core on exit any more (only fclose if the
  195. file is open...)
  196.  
  197. NEWS for version 1.2.3 of procps
  198.  
  199. psupdate moved to /usr/sbin, since it is no longer necessary.
  200.  
  201. Added wmconfig for Red Hat systems (others can use it if they
  202. want; if/when wmconfig becomes standard, I'll move it into the
  203. install target of the makefile).
  204.  
  205. Ugly hack to get around a problem some people were getting with
  206. a too-small variable.
  207.  
  208. The usage message no longer recommends a deprecated syntax.  :-)
  209.  
  210. NEWS for version 1.2.2 of procps
  211.  
  212. Made procps report its version number correctly.
  213. Fixed typo in w.1 man page.
  214.  
  215. NEWS for version 1.2.1 of procps
  216.  
  217. New address for bug reports against procps: procps-bugs@redhat.com
  218. (That's not an official service of Red Hat Software, just an alias
  219. for me so that bugs get filed properly where I don't lose them...)
  220.  
  221. Better memory checks.
  222. Fixed a file descriptor leak.
  223. In top, the space key updates immediately.
  224. Fixed broken signal code in top.
  225. Fixed broken screen size calculations in top.
  226. Fixed broken user count calculations in top.
  227. Fixed broken time difference calculations in w.
  228. Link libproc against libc explicitly for better co-existance with libc.
  229.  
  230. NEWS for version 1.2 of procps
  231.  
  232. Original author/maintainer, Michael K. Johnson <johnsonm@redhat.com>,
  233. has taken over maintenance again.
  234.  
  235. psmisc removed, as it is better maintained separately.  xload removed,
  236. as it is better maintained as part of XFree86.  mknewpty removed, as
  237. it duplicates /dev/MAKEDEV and MAKEDEV is maintained.
  238.  
  239. Support for 2.1.x kernels and for glibc 2.0.5.
  240.  
  241. Lots of documentation updates.
  242.  
  243. BFD support and shared library enabled by default.
  244.  
  245. Binaries are no longer included in the archive -- get them from your
  246. favorite Linux distributor.
  247.  
  248. free's display fixed in several ways: no such thing as cached swap,
  249. buffer+ display was incorrectly calculated, and buffer calculations
  250. didn't include cached memory.
  251.  
  252. Removed mknewpty, because it wasn't perfect and collides with MAKEDEV.
  253.  
  254. NEWS for version 1.01 of procps
  255.  
  256. top bugfix release.  Fixes memory leak, extra line after loadavg and broken
  257. no-idle mode.  Also be a little more aggressive utmp 'from host' filtering in w.
  258.  
  259. NEWS for version 1.00 of procps
  260.  
  261. Fixed the ps -t without a -a segfault bug.  Royal screwup on my part.
  262. Updated libproc parsing routine for the new vsize output as of 1.3.91-ish.
  263. Expanded the room for the FLAGS in ps -l due to high order bits now being set.
  264.  
  265. Added a brand new top to the distribution.  Highly run-time configurable.  The
  266. old top is available for at least a release or so as "top.old".  See the new man
  267. page for details, or just run it and type 'h'.  This is courtesy of Helmut
  268. Geyer.  Thanks Helmut!
  269.  
  270. egrep -n '\<(tgetent|cm|top_clrtoeol|top_clrtobot|cl|ho|me|md|mr|tgoto)\>' on
  271. top.c and cleaned up all terminal strings being just dumped to stdout.  All such
  272. strings are now tputs'd out with putchar.  This should fix a lot of problems
  273. people have been having.
  274.  
  275. Also cleaned up non-HZ based references to jiffies -> real time conversion. I
  276. may have missed one or two, though...
  277.  
  278. Cleaned up some Makefile things.  make distclean; make should really work now.
  279. removed function pointer warnings in xcpustate.c.  .depend is properly removed
  280. as are the imake generated makefiles.  Shared lib generation bug for libproc
  281. fixed.  In general the build should be a lot cleaner, but may still have a glitch
  282. or two.
  283.  
  284. Fixed a few (but probably not all) Alpha compatibility bugs dealing with memory
  285. alignment.  Please let me know if I missed any, or if you like give me a test
  286. account on some Alpha.  I don't have access to any Linux other than x86 which is
  287. notoriously forgiving about unaligned memory accesses.  Thanks to Alfred Arnold
  288. (a.arnold@kfa-juelich.de) and Harald Koenig for their help so far with this.
  289.  
  290. Completely (well almost) re-wrote 'w'.  From on by default, J/PCPU display is
  291. accurate to 0.01s.  w and top use readproc, so snap.c has gone away completely.
  292.  
  293. 'skill' should actually work now, but you may have to use '-c', '-u', etc. to
  294. actually get it to parse the command line correctly.
  295.  
  296. *** Significant changes in psdevtab inverse device name resolution
  297. ------------------------------------------------------------------
  298. Extended semantics of the -n (numeric) option to output the full device number
  299. in hexadecimal for the tty field.  That way if /etc/psdevtab cannot be created
  300. rescanning the /dev directory can be short-circuited.  Fixed incorrect file
  301. creation mode for /etc/psdevtab.  I just forgot to alter my original 0 mode to
  302. something reasonable like 0664.  Added fallback locations for psdevtab.  First
  303. it tries /etc/psdevtab, then /tmp/psdevtab and then $HOME/.psdevtab.  Also,
  304. decided to go ahead and create the devtab file with regular old write instead of
  305. the rw mmap.  I still read it with mmap, but there should be no trouble with
  306. that even in ancient kernels.  Also changed the semantics such that if any
  307. devtab file is found, it is assumed to be correct regardless of the relative
  308. timestamps of /dev and the file.  Hopefully all this will avoid any unnecessary
  309. slowness.  I'm still willing to reactivate the older somewhat broken code to
  310. do the mapping without any file as a fallback if the file doesn't exist.
  311.  
  312. *** Significant changes in psdatabase/WCHAN inverse name resolution
  313. -------------------------------------------------------------------
  314. libproc reads directly from System.map, so psupdate and /etc/psdatabase are no
  315. longer necessary.  Hopefully this will make kernel configuration management
  316. simpler requiring only the zImage and System.map, which being the stripped
  317. (compressed) kernel and the symbol table before stripping are natural
  318. complements.  This is probably how things should have been all along even going
  319. back to kmem ps days four years ago.  Oh well. This change should make dealing
  320. with x86, AXP, Sparc, etc binary formats for kernels a lot easier.  All that is
  321. required of System.map is that there be exactly 3 space delimited columns:
  322.    "address[single space]anything_with_no_spaces[single space]symbol[newline]"
  323. [ Well, ok, the addresses have to be zero padded so that lexicographic order is
  324. the same as numerical order and the addresses all have to be the same ascii
  325. length and I haven't tested to see how resilient it is to bogus internal records
  326. like multiple newlines in a row.  Hopefully aren't editting and commenting their
  327. System.map files. ;-)  This could actually work on "sort < /proc/ksyms" also if
  328. we generalize the behavior to work with either two or three columns. ]
  329.  
  330. We take advantage of the following files in this order:
  331.     PS_SYSTEM_MAP                 # may only point to System.map, not psdatabase
  332.     /boot/System.map-`uname -r`,  # Note: this is the preferred path
  333.     /boot/System.map
  334.     /lib/modules/`uname -r`/System.map
  335.     /etc/psdatabase
  336.     /boot/psdatabase-`uname -r`,
  337.     /boot/psdatabase,
  338.     /lib/modules/`uname -r`/psdatabase
  339.  
  340. The reason for the /lib/modules/*/file location is that I imagine many people
  341. have enough trouble keeping track of kernel version-dependent files in the
  342. filesystem as it is, so I didn't want to invent a new place.  I keep things in
  343. /boot myself and don't usually have more than 8 or so kernel versions, so this
  344. works for me.  I know not everyone uses modules, but it's just a search path
  345. folks...  In case it isn't obvious from all of the above, this means that
  346. psupdate is no longer necessary.  I include it in this release and include
  347. recognition of it because I realize that some distributions may have scripts
  348. which depend on the old semantics.  I doubt there will ever be a compelling
  349. reason to not include support for generating or reading the old psdatabase
  350. files, but they aren't necessary anymore if you have the System.map files from
  351. the kernel builds.
  352.  
  353. I'm not 100% sold on the ordering of the search path, but I think it makes
  354. sense.  If you have reasons why it should be different I may be convincable.
  355. Also I'm interested in exactly what the output of 'nm' looks like on Alpha,
  356. Sparc, etc., architectures.  It should be easy enough to adapt the code if it is
  357. basically the same format of <0 padded hex> ... <symbol>\n.
  358.  
  359. Thanks to Helmut Geyer for the idea of living off the System.map file natively
  360. and Mike Dean for the idea of using an approximate binary search instead of
  361. padding out the lines of System.map with tons of spaces to get equal record
  362. lengths.  The cost of doing it approximately is mild, mostly consisting of lots
  363. of scans to get to the next or last newline and a logarithmically few extra
  364. steps to get to the desired record.  Only an order of magnitude guess for the
  365. record length is necessary.  The code is all mine, though, so all bugs are due
  366. to me alone.
  367.  
  368. NEWS for version 0.99a of procps
  369. ================================
  370. This is a quick bug-fix release to solve a few thorny problems with my probably
  371. overzealous attempt to use the inline-assembly string.h and a Makefile bug or
  372. two.  It also fixes free to +/- the cached column too and makes it ignore the
  373. new extra-pretty non-numeric lines that /proc/meminfo is spitting out.  It also
  374. fixes the lack of set_linux_verion() in 'w' that caused no command line to be
  375. displayed.  I am still working on a much condensed 'w' that should be a lot
  376. easier to maintain and a readproctree that should be usable by both 'ps',
  377. 'pstree', and 'w'.
  378.  
  379. Apparently memory-mapped files are pretty broken before the early 1.3.X kernels
  380. so I may have to rewrite devname.c to not use MAP_WRITE to create psdevtab. Some
  381. people have been claiming that /dev changes at boot-up in some rc scripts. I'm
  382. not really sure why they would want to do that.  Seems kind of paranoid to
  383. continually re-make /dev/log.  Anyhow, I'm open to suggestions for psdevtab
  384. behaviors.  I've been thinking a /tmp/psdevtab fallback (with a careful world
  385. readable umask to avoid repetition) or maybe a $HOME/.psdevtab fallback too.
  386.  
  387. NEWS for version 0.99 of procps
  388. ===============================
  389. This file is a brief catalog of new features or developments in the package.
  390. For general information about using the programs see their man pages.
  391.  
  392. NEW PACKAGES OR PROGRAMS
  393. ========================
  394.  
  395. LIBPROC
  396.     I've modularized some routines and fixed some long standing bugs.  Replaced
  397.     the regex() recognition of /proc/PID with a simple check of the first
  398.     character of the filename being a digit which should be just as safe.
  399.  
  400.     Added an opendir/readdir/closedir style interface to the process table.  The
  401.     new interface seems cleaner, more intuitive and generally more applicable
  402.     (to me anyway).  The only program which uses the new interface is ps.  'w'
  403.     will follow soon.  'top' may take a while longer...  openproc,readproc, and
  404.     closeproc are implemented.  I still want to do readproctab and rewindproc,
  405.     too though.
  406.  
  407.     Added some kernel and package versioning things to make it easier to be run
  408.     time adaptable.  Also updated sysinfo to understand any /proc/meminfo.  A
  409.     /proc/stat parser should probably be in there as well with the appropriate
  410.     updates to vmstat and xcpustate.
  411.  
  412.     The general direction procps should move in is lightweight command-line or
  413.     X11/Motif display/format programs and compartmentalized libproc routines to
  414.     parse all of the /proc files.  This isolates the utilities from kernel
  415.     versioning.
  416.  
  417. TTY DEVICE NUMBER TO NAME RESOLUTION
  418.     Tty device name <-> number mapping has been completely generalized.  It now
  419.     stat's every character special file in /dev and builds a memory mapped table
  420.     of device names indexed in a way that makes lookup of name from number a
  421.     fast, constant time process.  The extra overhead incurred by building
  422.     /etc/psdevtab is non-negligible if you have a large /dev and permissions to
  423.     write the file (or its directory) are required to update the file (which is
  424.     done if it does not exist or if /dev is newer than /etc/psdevtab).
  425.  
  426.     Hence `root' should `ps' shortly after any modification to /dev (or chmod
  427.     666 /etc/psdevtab :-) to avoid ordinary users rebuilding it over and over.
  428.     Since such modifications are rare, hopefully having a fallback $HOME
  429.     location will not be necessary.  If the file is up to date, the overhead
  430.     incurred is very small.  The generality bought is essentially optimal since
  431.     `ps' tailors its notion of name<->devno mapping according to the /dev of the
  432.     local system which is the canonical repository of this information.
  433.  
  434.     In principle the name database could encompass all device majors. The file
  435.     would be large, but since I use mmap to access it, only the pages with the
  436.     major of interest are ever actually read off the disk.  Right now I just use
  437.     the majors 2,3,4,5,19,20 which should cover both old and new systems with
  438.     both master and slave devices (I know... no reason for the masters... :-)
  439.     and the multiport serial devices.  Also the 'mknewpty' script is provided
  440.     to update your /dev directory to the new pty master/slave devices.
  441.  
  442.     The tty abbreviation scheme has been rationalized to match device special
  443.     files.  The leading "tty" or "cu" is stripped, so cua3 -> a3, tty1 -> 1 and
  444.     ttyp9 -> p9.  The t flag in ps now works with a full device names and to
  445.     pick up processes even if they aren't owned by the owner of ps, e.g.
  446.     "ps tcua0" picks up gpm for everyone.  This seems desirable.
  447.  
  448. WATCH
  449.     A little program similar to another called 'vis' which simply re-displays
  450.     in a polling fashion the output of other programs.  "watch ps --sort:utime"
  451.     might be dubbed a poor man's 'top'.  Though this has been included in procps
  452.     for some time it hasn't been built or installed by default.  It is now.
  453.  
  454. SKILL/SNICE
  455.     I have written the necessary machine-dependant file for 'skill' and tested
  456.     it somewhat under Linux.  It seems to mostly work, but there are probably a
  457.     few glitches.  This is a generalization of the 'killall' concept.  You can
  458.     send signals or change priority based upon user, command basename (the same
  459.     that 'ps c' gives), terminal, etc.  If you have a user named 'satan' "skill
  460.     -u satan" will kill all their processes. :-) See the man page for more
  461.     details.
  462.  
  463.     An annoyance of the current implementation is that although permission to
  464.     send signals is based upon the real user id, /proc only gives the effective
  465.     uids of processes.  Hence processes which you *could* kill because they're
  466.     suid-root (X say) won't be detected as kill-able.  Either /proc + readproc
  467.     need to be updated to report the *real* uid to skil or skill needs to try to
  468.     send the signal even if the uid doesn't match.
  469.  
  470.  
  471. CHANGES TO OLD PROGRAMS
  472. =======================
  473.  
  474. MAKEFILE
  475.     The directory hierarchy has been restructured.  It is now easier to have the
  476.     multiple components to the suite under nearly autonomous administration.
  477.     The library code has also been moved to a subdirectory.  The best thing
  478.     about the new setup is that things like Imake generated Makefiles with
  479.     preconceived notions of 'make install' can be used without getting into the
  480.     business of re-writing component package makefiles.
  481.  
  482.     There is now an option to build a shared libproc.a which reduces 'ps' and
  483.     'top' sizes by about 10K apiece.  Simply change the value of SHARED.  Also,
  484.     one may optionally install the library header files and archive/shared
  485.     object files into standard system directories.  There are no library man
  486.     pages yet, but the headers are fairly descriptive.
  487.  
  488. PS
  489.     Several long standing bugs have been fixed and much of the internal code was
  490.     re-written to use my new directory-style interface to the process table.  In
  491.     particular if sorting is disabled (with '-o') the process entries are output
  492.     to the terminal as soon as possible (making it more helpful under heavy
  493.     system load).
  494.  
  495.     I am considering several new additional features to `ps' including
  496.         regex filtering of which processes to list,
  497.         "grep -s" silent testing for existing of processes matching criteria,
  498.         run-time/user-defined output formats.
  499.     I would also like to completely phase the w,top code which uses the snapshot
  500.     interface instead of the 'readproc' interface.  And of course adding long
  501.     options for the rest of the options would be nice too (I may not get around
  502.     to doing this anytime really soon so patches which implement any of these
  503.     things would most likely be gleefully accepted).
  504.  
  505. PSUPDATE
  506.     psupdate has been updated to work with ELF kernels.  If you compile it as
  507.     an ELF binary it will handle both a.out and ELF kernels.  If you compile it
  508.     as an a.out binary it will only handle a.out kernels.  Many thanks to Jeff
  509.     Uphoff.
  510.  
  511.     psupdate has also been updated to work with any binary type supported
  512.     by libbfd.  This is the default configuration.
  513.     Many thanks to David Mossberger-Tang.
  514.  
  515. TOP
  516.     A user-defined format would be nice here too.  Alternate sorting criteria
  517.     (top memory users instead of top CPU users, etc.) may be another interesting
  518.     alternative.  Of course the sorting in ps can do all of that, but it doesn't
  519.     have any optimal screen update action going down... :-)
  520.